#pragma once

#include "../umlmodel_global.h"

#include "BehavioredClassifier.h"
#include "Classifier.h"

namespace uml {

/// <summary>
/// Actor
/// An Actor specifies a role played by a user or any other system that interacts
/// with the subject.
/// </summary>
class UMLMODEL_EXPORT Actor : public Classifier, public BehavioredClassifier {

public: // Constructors and destructors
    explicit Actor(const QString& umlType="uml::Actor");

public: // JsonSerializable override
    void fromJson(const QJsonObject& json, QStringList& errorList) override;
    void toJson(QJsonObject& json) override;

};

} // namespace uml
